Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмізація та програмування

Частина тексту файла

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Кафедра АПЕПС Алгоритмізація та програмування - 2. Процедурне програмування ЗВІТ до лабораторної роботи № 4 «Списки» Варіант № 15 Дата «2» червня 2022 Завдання: 1. Дослідити особливості створення одно- та дво-направлених списків. 2. Вивчити і реалізувати механізми додавання нових записів у список,  пошуку записів у списку за певними полями, видалення записів зі списку та редагування знайдених записів, а також збереження всього списку у файлі та зчитування списку із файлу до пам’яті з відновленням всіх зв’язків. 3. Розробити Блок-схему програмного алгоритму. 4. Оформити ЗВІТ до лабораторної роботи згідно вимог та методичних рекомендацій. Завдання за варіантом: / Результат роботи: 1. Роздрукувати (вивести на екран) попередньо сформовані та підготовлені для запису в файл дані. 2. Роздрукувати (вивести на екран) результат виконання операції читання даних із файлу. 3. ЗВІТ до комп’ютерного практикуму для перевірки додати в Клас. 4. Програмний код (відкритий для редагування) розмістити на сайті Repl.it (посилання виключно через кнопку «+Invite »). Теорія та опис виконання: Однозв'язний список — вид зв’язного списку, який складається з вузлів, кожен з яких містить у собі дані (інформаційну частину) та посилання на наступний вузол. / Двобічно зв'язаний список — вид зв’язного списку, у якому посилання в кожному вузлі вказують на попередній і на подальший вузол у списку. Якщо в списку після останнього елемента йде перший, то такий список називається кільцевим двобічно зв'язаним списком. Тобто, поле prev голови списку вказує на хвіст списку, а поле next хвоста списку вказує на голову списку. По двобічно зв'язаному списку можна пересуватися в будь-якому напрямку — як від початку до кінця, так і навпаки. Для нього простіше проводити видалення і перестановку елементів, оскільки завжди відомі адреси тих елементів списку, вказівник яких спрямований на змінюваний елемент. / Найчастіше вузлом списку вважають структурний тип (структуру), який зберігає у собі певну інформаційну частину (іншу структуру або тип даних) та посилання (вказівник) на наступний вузол у списку. Список має «голову», тобто вказівник на початок списку та інколи має кінець, проте найчастіше його не використовують. Мабуть найголовнішою перевагою списку є набагато зручніша робота із динамікою. Наприклад, при створенні динамічного масиву, коли місце у ньому кінчається приходиться копіювати всі елементи, свторювати новий, більший за розміром, а старий видаляти. У спискам набагато зручніше додавати нові елементи. Але в той же час, його набагато складніше контролювати у порівнянні із звичайним масивом. У самому завданні було створено клас List. У цьому класі реалізовано різні функції для повної реалізації списку. На початку самої програми користувач задає к-сть елементів списку(к-сть кінофільмів які він хоче додати) і заповнює кожен елемент даними. Кожен елемент записується в окремий файл. І далі по запиту користувача виводиться окремий файл, під тим ID, який ввів користувач. Результат виконання: / / Вигляд файлів: / / Висновок: Під час виконання даної лабораторної роботи було досліджено роботу одно- та дво-напрямлених списків. Виконано завдання, вказане відповідно до номеру варіанту(створенно однозв’язний список кінофільмів, та реалізовано функціонал роботи з ним). Дану роботу було реалізовано на мові програмування С++. Силка на Replit: https://replit.com/join/cxptucdcgi-tr-15fundamient Копія коду: // Лабораторна робота №4 // Виконав Фундамент Даніїл ТР-15 // 01.06.2022 #include <iostream> #include <fstream> #include <iostream> using namespace std; template<class T> class Node { public: Node *pNext; T data; Node(T data = T(), Node *pNext = nullptr) { this->data = data; this->pNext = pNext; } }; template<class T> class List { public: ~List(); ...
Антиботан аватар за замовчуванням

03.05.2023 19:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини